package com.jindy.module.returnreceiptorder.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jindy.module.returnapplyorder.domain.ReturnApply;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.jindy.common.annotation.Excel;
import com.jindy.common.core.domain.BaseEntity;

/**
 * 回货入库单对象 t_return_receipt_order
 *
 * @author ruoyi
 * @date 2022-10-19
 */
@Data
public class ReturnReceiptOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 租赁销售回货入库单号 */
    @Excel(name = "租赁销售回货入库单号")
    private String returnReceiptNo;

    /** 发起人 */
    @Excel(name = "发起人")
    private Long sponsor;

    /** 发起人名称 */
    @Excel(name = "发起人名称")
    private String sponsorName;

    /** 入库时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入库时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date warehousingTime;

    /** 客户 */
    @Excel(name = "客户")
    private Long customerId;

    /** 客户名称 */
    @Excel(name = "客户名称")
    private String customerName;

    /** 回货申请单id */
    @Excel(name = "回货申请单id")
    private Long returnApplyId;

    /** 回货单编号 */
    @Excel(name = "回货单编号")
    private String returnApplyNo;

    /** 业务员 */
    @Excel(name = "业务员")
    private Long salesman;

    /** 业务员名称 */
    @Excel(name = "业务员名称")
    private String salesmanName;

    /** 申请入库仓库 */
    @Excel(name = "申请入库仓库")
    private Long applyWarehouseId;

    /** 申请入库仓库名称 */
    @Excel(name = "申请入库仓库名称")
    private String applyWarehouseName;

    /** 入库仓库 */
    @Excel(name = "入库仓库")
    private Long warehousingWarehouseId;

    /** 入库仓库名称 */
    @Excel(name = "入库仓库名称")
    private String warehousingWarehouseName;

    /** 总价 */
    @Excel(name = "总价")
    private BigDecimal totalPrice;

    /** 订单状态 */
    @Excel(name = "订单状态")
    private String orderStatus;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /**
     * 产品列表
     */
    private List<ReturnReceiptOrderProduct> productList;
    /**
     * 机器列表
     */
    private List<ReturnReceiptOrderMechine> mechineList;

    /** 父级回库单id */
    private Long parentId;
    /**
     * 关联的子申请单
     */
    private List<ReturnReceiptOrder> childReturnReceiptOrder;

    /**
     * 查看权限（用户id)
     */
    private Long userId;
}
